# 参数声明
# 使用构建参数 IMAGE_TAG（可用于多版本管理）
ARG IMAGE_TAG=latest

# 第一阶段：构建阶段（使用 Maven 构建项目）
FROM maven:3.8.8-eclipse-temurin-21-alpine AS builder

# 设置工作目录
WORKDIR /app

# 复制 pom.xml（注意路径调整：从上层目录复制）
COPY pom.xml .
RUN --mount=type=cache,target=/root/.m2 \
    mvn -B dependency:go-offline

# 复制源代码（注意路径调整）
COPY src/ ./src/

# 构建项目
RUN --mount=type=cache,target=/root/.m2,id=jsrj-m2-repo,sharing=locked \
        mvn -B clean package -Dmaven.test.skip=true


# 第二阶段：运行阶段
FROM eclipse-temurin:21-jdk-noble

WORKDIR /app

# 从构建阶段复制 JAR 包
COPY --from=builder /app/target/int-tools-0.0.1-SNAPSHOT.jar ./int-tools.jar

# 暴露端口（根据实际情况修改）
EXPOSE 8080

# 启动命令
ENTRYPOINT ["java", "-jar", "int-tools.jar"]